contract Versionable is Activatable {
  string public name;
  string public version;
  uint256 public identifier;
  uint256 public createdAt;

  /**
   * @dev Create a new intance of a Versionable contract. Sets the
   *      createdAt unix timestamp to current block timestamp.
   */
  function Versionable (string _name, string _version, uint256 _identifier) public {
    require (bytes(_name).length != 0x0 && bytes(_version).length != 0x0 && _identifier > 0);

    // Set variables.
    name = _name;
    version = _version;
    identifier = _identifier;
    createdAt = now;
  }
}
function Versionable (string _name, string _version, uint256 _identifier) public {
  require (bytes(_name).length != 0x0 && bytes(_version).length != 0x0 && _identifier > 0);

  // Set variables.
  name = _name;
  version = _version;
  identifier = _identifier;
  createdAt = now;
}

/**
 * @dev Create a new intance of a Versionable contract. Sets the
 *      createdAt unix timestamp to current block timestamp.
 */