add todos
refactoring