split interpreter in to two modules