very naive interpreter