experiment using with_options to dry up code from ep42