update internal design of interpreter.js