Add withLayout fn