todo and todos logic