contract Ownable {

  address public owner;

  /**
   * @dev sets owner of contract
   */
  function Ownable() public {
    owner = msg.sender;
  }

  /**
   * @dev changes owner of contract
   * @param newOwner New owner
   */
  function changeOwner(address newOwner) public ownerOnly {
    require(newOwner != address(0));
    owner = newOwner;
  }

  /**
   * @dev Throws if called by other account than owner
   */
  modifier ownerOnly() {
    require(msg.sender == owner);
    _;
  }
}
/**
 * @title Ownable Contract
 * @dev contract that has a user and can implement user access restrictions based on it
 */
function Ownable() public {
  owner = msg.sender;
}

/**
 * @dev sets owner of contract
 */