Make stuff more transactional at repository level like