fix off canvas bug and many updates