 	- parameter translation: The translation(s)
 	- parameter translationLanguage: The language of `translation`
 	*/
-	public init(title: String, context: String? = nil, url: String, bookmarkDate: String, word: String, wordLanguage: String, translation: [String], translationLanguage: String) {
+	public init(id: String, title: String, context: String? = nil, url: String, bookmarkDate: String, word: String, wordLanguage: String, translation: [String], translationLanguage: String) {
+		self.id = id
 		self.title = title
 		self.context = context
 		self.url = url

	
	// MARK: Properties -
	
	/// The date of this bookmark
	public var date: NSDate
	

		self.date = date!
	}
	
	/// Deletes this bookmark.
	///
	/// - parameter completion: A block that will receive a boolean indicating if the bookmark could be deleted or not.
	public func delete(completion: (success: Bool) -> Void) {
		ZeeguuAPI.sharedAPI().deleteBookmarkWithID(self.id) { (success) in
			completion(success: success)
		}
	}
	
	/// Adds a translation to this bookmark.
	///
	/// - parameter translation: The translation to add to this bookmark.
	/// - parameter completion: A block that will receive a boolean indicating if the translation could be added or not.
	public func addTranslation(translation: String, completion: (success: Bool) -> Void) {
		ZeeguuAPI.sharedAPI().addNewTranslationToBookmarkWithID(self.id, translation: translation) { (success) in
			completion(success: success)
		}
	}
	
	/// Deletes a translation from this bookmark.
	///
	/// - parameter translation: The translation to remove from this bookmark.
	/// - parameter completion: A block that will receive a boolean indicating if the translation could be deleted or not.
	public func deleteTranslation(translation: String, completion: (success: Bool) -> Void) {
		ZeeguuAPI.sharedAPI().deleteTranslationFromBookmarkWithID(self.id, translation: translation) { (success) in
			completion(success: success)
		}
	}
	
	/// Retrieves all translations for this bookmark.
	///
	/// - parameter completion: A block that will receive a dictionary with the translations.
	public func getTranslations(completion: (dict: JSON?) -> Void) {
		ZeeguuAPI.sharedAPI().getTranslationsForBookmarkWithID(self.id) { (dict) in
			completion(dict: dict)
		}
	}
	
}
