added service methods and kept them transactional