reuse read! for arbitrary endpoints