add todo and error handling