updated interp.c