refactor of validation :pear: Aaron