validation and design fixes