use @Inject instead of implementing a interface (internal only)