renamed Validation to Interface because in the same type class there can be also functions with side-effects