tweaking abstract factory description