refactored, annotated and unit tested pmeth methods, still need to refactor and annotate recombination and save unit test back into test