elaborated on the todo