Validation and stuff.