Self validating (18/25)

Self validating