we need sstream and vector for exceptions and stacks
introduce statementlist/block
allow for trace mode to put out info about what we're doing