Added tests and updated TODO.md