Self validating (23/25)

Self validating