better dispatchers, show/hide logic