refactored to breakout todolist