adds a with_validation wrapper