seperated canvas version and svg version