#dependency_inversion_principle