decorator update, and layout