add pickle_protocol parameter