validation and layouts