add basic design of interpreter