syntacticclassdef by eugene