Added some new code and TODO stuff