Validate

WIP! Do not merge yet!

Yes I know I'm doing a lot of these. I'm thinking we should use this version instead of validexp