I wonder if we could adapt validate to handle some of this? For later.