added top-level expander
removed defvar for compound statements,