validation performed by layout