Non-ribosomal peptide synthesis