added transactional because of no session error