1: Build general menu from database 2: Walk over menu pruning unwanted items 3: Substitute in some special cases