*added service layer