refine - use service injection