fixing missed interface, @component and changing to use interface instead of concrete implementation