implemented service with transaction