actually allow closure defines and fix default