add container API and layout attribute for pages