refactored room object into it's own file and moved its methods to the prototype
rebase and fix all merge conflicts