added canvas, and elaborated on other things