public List<List<?>> run()
	{
		//array lists to track objects made
		primObjs = new ArrayList<PrimObj>();
		ReferObjs = new ArrayList<ReferObj>();
		ArrayObjs = new ArrayList<PrimArrayObject>();
		ObjArrayObjs = new ArrayList<ObjsArrayObject>();
		CollectionObjs = new ArrayList<CollectionObject>();
		TotalObjects = new ArrayList<List<?>>();

		System.out.println("Shane Schmaltz's Object creator\nFollow the menu options as they are presented.");
		//Main loop to get input and do what it has to do
		while(!input.equalsIgnoreCase("Q")){
			input = getInput();
			System.out.println("Input: " + input);
			//Create primitive object
			if(input.equalsIgnoreCase("P")){
				PrimObj aPrimObj = createPrimitive();
				primObjs.add(aPrimObj);
			}
			//Create Reference object
			if(input.equalsIgnoreCase("R")){
				ReferObj aRefObject = createRefObjs();
				ReferObjs.add(aRefObject);
			}
			if(input.equalsIgnoreCase("A")){
				PrimArrayObject anArrayObject = createArray();
				ArrayObjs.add(anArrayObject);
			}
			if(input.equalsIgnoreCase("O")){
				ObjsArrayObject anObjArrayObject = createObjsArray();
				ObjArrayObjs.add(anObjArrayObject);
			}
			if(input.equalsIgnoreCase("C")){
				CollectionObject aCollectionObject = createCollectionObj();
				CollectionObjs.add(aCollectionObject);
			}
		}
		TotalObjects.add(primObjs);
		TotalObjects.add(ReferObjs);
		TotalObjects.add(ArrayObjs);
		TotalObjects.add(ObjArrayObjs);
		TotalObjects.add(CollectionObjs);	

		return TotalObjects;
	}