made interpreter simpler by using embedding