interpreter interfaces