work in progress on factoryification