refactoring and setting the TODO List