added new files and service layer