add feature pre
change pre(input)