validation is now being done the "right" way