compiler off to a good start. test cases working as expected