Todo list changes

added all the re factored code and todo list to this branch