the code has been arrange to be more generic with a Service class that catens all services