 			return sign * (1 + TWOeN23 * sig) * Math.pow(2, exp);
 		}
 	
-		private function readDouble/*readFloat64*/():Number
+		public function readDouble/*readFloat64*/():Number
 		{
 			if (endian == ENDIAN_LITTLE)
 				return readFloat64LE();

			return str;
		}
	
		private function readUTF():String
		{
			return this.readString(this.readUnsignedShort());
		}
	
		private function readLongUTF():String
		{
			return this.readString(this.readUInt30());
		}

					((data[++pos] & 0xFF) << 8) |
					(data[++pos] & 0xFF);
		}
		public function readInt/*readInt32*/():int
		{
			if (endian == ENDIAN_LITTLE)
				return readInt32LE();
