added input unified input behavior