finished baseService factory