synchronized public void newBid(User bidder, double amount, TCPCommunication tcpCommunication) {
		if(!bidders.contains(bidder)) {
			bidders.add(bidder);
			if(amount > highestBid) {
				highestBid = amount;
				User previousHighest = highestBidder;
				highestBidder = bidder;
				server.bidSuccessful(bidder, amount, description, ID, tcpCommunication);
				if(previousHighest != null) {
					server.userOverbid(previousHighest, amount, description, ID, tcpCommunication);
				}
				
			}
			else {
				server.bidUnsuccessful(bidder, amount, highestBid, description, tcpCommunication);
			}
		}
		else {
			if(amount > highestBid) {
				highestBid = amount;
				User previousHighest = highestBidder;
				highestBidder = bidder;
				if(previousHighest != null) {
					server.userOverbid(previousHighest, amount, description, ID, tcpCommunication);
				}
			}
			else{
				server.bidUnsuccessful(bidder, amount, highestBid, description, tcpCommunication);
			}
		}
	}