move some validations from represent to pupa
move more validations
eliminate represent_spec