     # Return the collision's contact normal vector, relative
     # to the first element in the collision.
     getContactNormal : () ->
-        return @getRelativeVelocity().normalize()
+        if @element2.isStatic()
+            return @element1.direction
+        else
+            return @getRelativeVelocity().normalize()
 
     # Return the seperating velocity of the two elements.
     getSeperatingVelocity : () ->

    # Return a collision if the two elements are colliding, null
    # otherwise.
    detectCollision : (e1, e2) ->
        #FIXME: add an error of margin
        if e1.intersects(e2) then new wolf.Collision(e1, e2) else null

    # Resolve the given collision.
    resolveCollision : (collision) ->

    # Return the total mass of all elements in the collision.
    getMass : () ->
        @getElements().reduce((mass, e) ->
            mass += e.mass unless e.isStatic()
            return mass
        , 0)

