update: factory method in magento