Self validating (10/25)

Self validating