all tests pass, logic is more or less done
working on integration test