Self validating (22/25)

Self validating