exploiting client caching (conditional get)
aggregate filter got smarter