expose validate, allow deferreds