another simpler implementation of StringVM