Writing your own Interpreter from Scratch