add basic support DefineFunction
fix conflict