adding generic factory