create tests passing
WIP update refactor