Adding better menu impl, still very experimental