single page app and canvas integrated