further work on StatementVistitor