Dependency injection

shape