Minor syntatic fixes
Move Validators into separate files

Also replaces records with structs
Convert records to structs