Self validating (16/25)

Self validating