added service layer validation