add menu infrastructure