Added unit tests, updated TODO.txt