added support for canvas layout