     if hits.left.length > 0
       s = hits.left[0]
       box.setX(s.x+s.width - box.leftOffset)
+      adjacent.left = hits.left
     else
-      hits.right = tileSearchVertical(grid, tileWidth,tileHeight,box.right, box.top, box.bottom-1)
+      hits.right = tileSearchVertical(grid, tileWidth,tileHeight, Math.ceil(box.right), box.top, box.bottom-1)
       if hits.right.length > 0
+        console.log "hits.right",hits.right
         s = hits.right[0]
-        box.setX(s.x - box.rightOffset)
+        box.setX(s.x - box.rightOffset-1)
+        adjacent.right = hits.right
+
+    unless adjacent.left?
+      adjacent.left = tileSearchVertical(grid, tileWidth,tileHeight,box.left-1, box.top, box.bottom-1)
+    unless adjacent.right?
+      adjacent.right = tileSearchVertical(grid, tileWidth,tileHeight, Math.ceil(box.right+1), box.top, box.bottom-1)
     
     # Update position and hit_box components 
     @updateComp position.set('x', box.x).set('y', box.y)

      top: []
      bottom: []

    # Apply & restrict VERTICAL movement
    box.moveY(vy * @dt())


    hitBoxJS.touching.bottom = hits.bottom.length > 0
    hitBoxJS.touchingSomething = hitBoxJS.touching.left or hitBoxJS.touching.right or hitBoxJS.touching.top or hitBoxJS.touching.bottom

    hitBoxJS.adjacent = {}
    hitBoxJS.adjacent.top = adjacent.top.length > 0
    hitBoxJS.adjacent.bottom = adjacent.bottom.length > 0
    hitBoxJS.adjacent.left = adjacent.left.length > 0
    hitBoxJS.adjacent.right = adjacent.right.length > 0

    @updateComp hitBox.merge(hitBoxJS)

    # Update velocity if needed based on running into objects:
