add package .interfaces.factory
practice adapter pattern