add support for strict evaluation, and enhance interpreter to support if expression