anchor.diff:                                  (rel_y < 0)? UP             :
                                   (rel_x > ROOM_WIDTH)? RIGHT : DOWN;
   
  -            var room = Q.state.nextRoom(direction);
  -
               var stage = Q.getActiveStage();
  -            var background = stage.getBackground();
  +            var current_room = stage.getRoom(Q.state.get("room"));
  +            var new_room = Q.state.nextRoom(direction);
   
               /* set rel_x and rel_y so that the relevant one is near zero */
               if (direction[0] !== 0) {
  
positive.code: 
              /* we slide room 2 to x: -224, y: 224 and room 3 to x: 0, y: 0 */
  
              stage.insert(room);
              background.animate({ x: -(direction[0]) * (ROOM_WIDTH / 2), y: direction[1] * (ROOM_HEIGHT / 2) });
              room.animate({ x: 0 });
              Q('Player').first().animate({ x: rel_x });
  
          };
  
          /* later, add this to a component called "zeldaSlide" */
  
negative.code:         var room_file = Q.rooms.items[this.p.room + offset];
  
          Q.state.set("room", this.p.room + offset); // update the current room
  
          var room_origin = {
              x: ROOM_WIDTH * direction[0],
  