adding transactional model