function getGift (uint256 tokenId)
    external
    view
    returns (
      uint256 amount,
      address purchaser,
      address beneficiary,
      string content,
      uint256 date,
      uint256 style
    )
  {
    require(
      _exists(tokenId),
      "Token must exists"
    );

    GiftStructure storage gift = _structureIndex[tokenId];

    require(
      block.timestamp >= gift.date, 
      "Now should be greater than gift date"
    );

    amount = gift.amount;
    purchaser = gift.purchaser;
    beneficiary = ownerOf(tokenId);
    content = gift.content;
    date = gift.date;
    style = gift.style;
  }