shift() instead of pop() so that the validators are executed in order