cleaned up validator and exceptions and transfered them to separate modules'