improve canvs drawing