start splitting platypus-specific parts out into separate lib
moving platypus functionality into library