fixed Factory Class