refactor todo15