adding canvas functinoality
canvas changes