functions and a todo