make disable take optional block