renderer refactored to service