unify interface