Added collection cache and implemented query include()