Self validating (6/25)

Self validating