anchor.diff:  		//on a street at once because the bounding boxes all squish together
   		if(querySelector('#MainScreen').hidden == true)
   		return;
  -
  +		
   		if(element.attributes['collected'] == "true")
   		return;
  -
  +		
   		CanvasElement canvas = element as CanvasElement;
   		num left = num.parse(canvas.style.left.replaceAll("px", ""));
   		num top = currentStreet.bounds.height - num.parse(canvas.style.bottom.replaceAll("px", "")) - canvas.height;
   		Rectangle quoinRect = new Rectangle(left,top,canvas.width,canvas.height);
  -
  +		
   		Rectangle avatarRect = new Rectangle(posX,posY,width,height);
  -
  +		
   		if(intersect(avatarRect,quoinRect))
   		{
   			playSound('quoinSound');
  -
  +			
   			element.attributes['collected'] = "true";
  -
  +			
   			int quoinMultiplier = 1;
   			// TODO: change 1 to the real quoin multiplier
   			int amt = rand.nextInt(4) + 1;
   			amt = amt * quoinMultiplier;
  -
   			Element quoinText = querySelector("#qq"+element.id+" .quoinString");
  -
  +			
   			var quoinType = "";
  -
  +			
   			if (element.classes.contains("currant")) {
   				quoinType = "currant";
   			}
  
positive.code: 			camY = currentStreet.bounds.height - ui.gameScreenHeight;
  			translateY = ui.gameScreenHeight - (currentStreet.bounds.height - posY);
  		}
  
  		camera.setCamera((camX~/1).toString()+','+(camY~/1).toString());
  
  		//translateZ forces the whole operation to be gpu accelerated (which is very good)
  		String transform = 'translateX('+translateX.toString()+'px) translateY('+translateY.toString()+'px)';
  		if(!facingRight)
  		{
  			transform += ' scale(-1,1)';
  			playerName.style.transform = 'scale(-1,1)';
  
  			if(chatBubble != null)
  			chatBubble.textElement.style.transform = 'scale(-1,1)';
  		}
  		else
  		{
  			playerName.style.transform = 'scale(1,1)';
  
  			if(chatBubble != null)
  			chatBubble.textElement.style.transform = 'scale(1,1)';
  		}
  
  		playerParentElement.style.transform = transform;
  		playerParentElement.attributes['translateX'] = translateX.toString();
  		playerParentElement.attributes['translateY'] = translateY.toString();
  		num diffX = translateX-prevX, diffY = translateY-prevY;
  	}
  
  	void checkCollision(Element element)
  	{
  		//if the main screen is hidden don't check for quoin collection
  
negative.code: 				playerParentElement.append(chatBubble.bubble);
  			}
  		}
  		
  		if(doPhysicsApply && playerInput.upKey == true)
  		{
  			bool found = false;
  