improved service layer and presenter layer