more structure to todo