name malloc function
code de-duplicate
canvas correct usage

Possible problems if canvas invisible...
Add binarues && patches from bellar