Add AbstractService and change services structure