room refactory