implements context, services and dependency injections