added transactional annotations