public boolean loadImage() {

		String newFilename = filename;
		//Try and load it as a file
		if(!(new File(filename).exists())) {
			File f = new File("."); // current directory
			File[] files = f.listFiles();
			for (File file : files) {
				if (file.isDirectory()) {
					File child = new File(file.getPath()+System.getProperty("file.separator")+filename);
					if(child.exists()) {
						newFilename = child.getPath();
					}
				}
			}
			if(newFilename == filename) {
				ClassLoader cldr = this.getClass().getClassLoader();
				InputStream is = cldr.getResourceAsStream(filename);
				try {
					this.imageFrames = this.readGIF(is);
				} catch (IOException e) {
					return false;
				}
			} else {
				try {
					InputStream is = new FileInputStream(newFilename);
					this.imageFrames = this.readGIF(is);
				} catch (IOException e) {
					return false;
				}
			}
		}
		return true;
	}