add toggle / push mode