some bugs in the vm; retreated to Norvig for a more incremental conversion