Basic, working interpreter version