added java service layer