initial functionality and tests
prepping for distribution