A computer program product comprising a computer readable medium having a computer program recorded therein for conducting a descending price auction of a plurality of heterogeneous items between a plurality of selling and potential purchasing parties, said computer program product including:
- computer program code means for accepting an offer in respect of an item at a specified price;
- computer program code means for accepting one or more subsequent offers at a revised price that is/are preferable to a previously accepted offer;
- and
- computer program code means for rejecting said previously accepted offer;
- wherein
- acceptance of each of said offers is not binding;
- and
- one or more of said computer program code means comprise software-based agents hosted on terminals connected via a communication network, said software-based agents acting on behalf of said parties.