add todo list, let code more reusable