- initial implementation of service layer