added canvas stuffs