some validation & style changes