finished canvas experiment and program mostly works