added service using factory method