layout & type update