working, passing initial tests