web service layer