add service layer
service modified