work in progress - rooms looping logic and caching