room generation refactor complete