 				_sort.sort(results);
 			}
 			
-			if (_select == null) return results;
-			if (_aggrs == null && _groupby==null) return project(results);
-			return group(results);
+			if (_select == null)
+				return results;
+			else if (_aggrs == null && _groupby==null)
+				return projectAll(results);
+			else
+				return aggregate(results);
 		}
 		
 		/**

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

		private var _where:Function;
		private var _sort:Sort;
		private var _aggrs:Array;
		private var _map:Boolean = false;
		
		/**
		 * Creates a new Query.
