unified menu building