add companion objects to pick implementation