add todos
convert to function