this will be moved to loci/loxigen in a subsequent pull request?