Menu framework