separate interpret from interpret*