interpreter pass