private boolean read_serialize(String fileName) {
		boolean readSuccessful = false;
		FileInputStream iStream = null;
		boolean EOF = false;
		try {
			iStream = new FileInputStream(fileName);
			
			ObjectInputStream objStream;
		
			objStream = new ObjectInputStream(iStream);
		
			while(!EOF) {  
				try {
					//try reading one object in
					Object objectIN;
					objectIN = objStream.readObject();
				
					if(objectIN instanceof Player) 
					{
						this.p = (Player) objectIN;
					} 
					else if(objectIN instanceof Level) 
					{
						this.l = (Level) objectIN;
					} 

					//else if(objectIN instanceof CommandController ) 
					//{
					//	this.cc = (CommandController) objectIN;
					//}

					
					else
					{	//got some other class 
						System.out.println("Got another class " + objectIN.toString());
					}
					
					
				} catch (EOFException e) {
					EOF = true;
				}
			}
			readSuccessful = true;
			
		} catch (FileNotFoundException e) {
			System.out.println("KM: FileNotFoundException" + e.getMessage() + " > caught during serialize read.");
		
		} catch (IOException e) {
			System.out.println("KM: IOException " + e.getMessage() + " > caught during serialize read.");
			
		} catch (ClassNotFoundException e) {
			System.out.println("Invalid serialized class found during serialization.");
		} finally {	
			try {
				iStream.close();
			} catch (IOException e) {
				//cannot close the iStream
				System.out.println("Restoring successfully Cannot close iStream.");
			}
		}
		return readSuccessful;
	}