implement room manager