contract CanReclaimToken is Ownable {
  using SafeERC20 for ERC20Basic;

  /**
   * @dev Reclaim all ERC20Basic compatible tokens
   * @param missing_token ERC20Basic The address of the token contract (missing_token)
   */
  function recoverERC20Token_SendbyMistake(ERC20Basic missing_token) external onlyOwner {
    uint256 balance = missing_token.balanceOf(this);
    missing_token.safeTransfer(owner, balance);
  }
}
/**
 * @title Contracts that should be able to recover tokens
 * @author SylTi
 * @dev This allow a contract to recover any ERC20 token received in a contract by transferring the balance to the contract owner.
 * This will prevent any accidental loss of tokens. - updated to "recoverERC20Token_SendbyMistake"
 */
function recoverERC20Token_SendbyMistake(ERC20Basic missing_token) external onlyOwner {
  uint256 balance = missing_token.balanceOf(this);
  missing_token.safeTransfer(owner, balance);
}

/**
 * @dev Reclaim all ERC20Basic compatible tokens
 * @param missing_token ERC20Basic The address of the token contract (missing_token)
 */