fix functional interpreter