improved validator behavior , added more options and methods