Reimplementation of interpreter functional