wrapped up todos functionality