completed canvas and local storage