Change rooms

Logic for changing rooms + tests and some cleanup and moving references to final