void HandleApplicationIdle(object sender, EventArgs e)
 {
     while (IsApplicationIdle())
     {
         simulation.update();
         //this.Invalidate();
     }
 }