Self validating (15/25)

Self validating