cleaned up validator to use combinations