#32 re-write cbpshop lib