implements collections and client side caching for extra questions