added factory method to Pickable