break out validatePseudos function
turns out repeated call to findclasses was necessary
simplified parser somewhat
i guess we'll not EXCLUSIVELY do this the hard way