replaced input framework