Changes for initial push with tests

this file probably needs a docstring so I know what it is doing