design stuff - unit test passing
working checkpoint