Revert "remove canvas"

This reverts commit ffa5da63e7b26a4525e0bdc39dd65b0dbe71a8dc.