validation logic tested ... add more util functions ... fixed several validation issues'