refactored noobFactory to factory