Rewrote Extenders and Validators to allow for User Defined