A Generic Interpreter