add first draft of widget_canvas.py
edits