use canvas instead of svg