 					
 					// the token on the right is a variable name, but we will store it as a String because it's a property lookup
 					compiledParams = [compiledToken, new CompiledConstant(encodeString(propertyToken), propertyToken)];
-					tokens.splice(open - 1, 3, compileOperator('.', compiledParams));
+					tokens.splice(open - 1, 3, compileOperator(tokens[open], compiledParams));
 					continue;
 				}
 				

				for (var i:int = 0; i < chain.length; i++)
					object = object[chain[i]];
				return object;
			};
			// array creation
			operators["[]"] = function(...args):* { return args; };


			/** operators **/
			// first, make sure all special characters are defined as operators whether or not they have functions associated with them
			var specialChars:String = "`~!#%^&*()-+=[{]}\\|;:'\",<.>/?";
			for (var i:int = 0; i < specialChars.length; i++)
				operators[specialChars.charAt(i)] = true;
			// now define the functions
