a brainfuck interpreter