update to TODO list, refactoring needed in a lot of places