 
   update : ->
     @field.world.Step(1/30, 10, 10) # should be customizable
+    @field.world.ClearForces()
     b = iris.field.world.GetBodyList()
     while(b)
-      if b.GetType() == 1
-        pos = b.GetPosition()
-        b.SetPosition(new b2Vec2(pos.x, pos.y + 0.01)) # should be customizable
+      data = b.GetUserData()
+      if data
+        if data.type == "shape" and data.state == 0
+          # Cancel gravity
+          b.ApplyForce(new b2Vec2(0, -9.8 * b.GetMass()), b.GetWorldCenter())
       b = b.GetNext()
 
     c = iris.field.world.GetContactList()

      ceilBody.position.Set(12,-4)
      @world.CreateBody(ceilBody).CreateFixture(ceilFixture)
      
      @addShape(0,0,0,0,0,0.4)
      @addShape(1,0,0,0,0,0.5)
      @addShape(2,0,0,0,0,0.6)
  }

  init : ->

          new shapeConfig(1, 1, 0.5, 0.8)
          new shapeConfig(1, 1, 0.5, 0.8)
        ]
      ]
      color: [
        "#FF0000"
      ]
    }
  }
