Work with factories and interfaces