todo functionality - update