unify and prepare behaviors