functions interpreter