rooms client side implementation WIP