update todo and correct mistakes