add canvas view, improve automate.process function