added canvas and trignomentry