Decomposed validation and removed redundancy.  Works but not pretty looking though.