 		 * @param results the filtered query results array
 		 * @return query results array of projected objects
 		 */
-		protected function project(results:Array):Array
+		private function projectAll(results:Array):Array
 		{			
 			for (var i:int=0; i<results.length; ++i) {
 				var item:Object = {};

		public function groupby(...terms):Query
		{
			_groupby = (terms.length > 0 ? terms : null);
			return this;
		}
		

			}
		}
		
		private function project(item:Object):Object
		{
			var result:Object = {};
			for each (var pair:Object in _select) {
