create reusable services