interpreter semi-implemented