moved stuff around, started writing test cases