modify input framework