rewrite mass_mode to support no-argument modes