building service layer