Self validating (19/25)

Self validating