lots of refactoring of my todo list