unify input system