               rs-proposed (+ ls-proposed (:width @object))
               ls-obstacle (first (:position @o))
               rs-obstacle (+ ls-obstacle (:width @o))]
-
-          ;; (println (count obstacle) "-->"
-          ;;          (:name @object) ls-proposed rs-proposed
-          ;;          (:name @o) ls-obstacle rs-obstacle
-          ;;          (or (>= ls-proposed rs-obstacle) (<= rs-proposed ls-obstacle)))
-
           (if (or (>= ls-proposed rs-obstacle)
                  (<= rs-proposed ls-obstacle))
             (recur (next obstacle) hit)

    (list (+ posx  (/ w 2)) (+ posy h))))

(defn intersections-p [object offset base obstacles]
  ;;(println "----+++")
  ;;(println "Ip, " (:name @object) offset base);; obstacles)
  (let [hit nil]
    (loop [obstacle obstacles
           hit nil]
      ;;(println (or (empty? obstacle) (= true hit)))
      (if (or (empty? obstacle) (= true hit))
        hit
        (let [o (first obstacle)

         max-offset (+ 1 (- (:width @support)
                            (:width @object)))
         hit nil]
    (cond (or (= curr-offset max-offset) (not= nil hit)) hit
          :else (if (not (intersections-p object curr-offset
                                        (first (:position @support))
