first version of interpreter