implement orderby()
implement aggregate()
implement contains()
rebuild source