Adding v4 to the available versions
Minor project reorg
Moving some validation to base class