first example, todo list, fully working