use a single canvas layer for dynamic content