function purchase() payable {
    if(halt_purchases) throw;

    
    uint256 iou_to_purchase = 160 * msg.value; 

    
    if((total_iou_purchased + iou_to_purchase) > total_iou_available) throw;

    
    iou_purchased[msg.sender] += iou_to_purchase;
    eth_sent[msg.sender] += msg.value;

    
    total_iou_purchased += iou_to_purchase;
  }