refactored blog svc