Tests are working. Code needs some work though.