[DP] add Interpreter pattern