public String toString() { 
		String string = "#< " + factory.getCache().tableName(type);
		
				
		if (extendsModels()) {
			string += " inherits (";
			Set<Class> sup = supers.keySet();
			
			boolean first = true;
			for (Class s : sup) {
				string += first ? "" : ", ";
				string +=  " "+ factory.getCache().tableName(s);
				first = false;
			}
			string += ")";
		}
		
		Map<String, Object> objFields = fields();
		Set<String> fieldsName = fields().keySet();
		
		String id = factory.getCache().getModelId(type);
		
		string += " " + id + ": " + objFields.get(id);
		
		for (String fN : fieldsName)
			if (!fN.equals(id) && !fN.equals("UpdatedAt") && 
				!fN.equals("CreatedAt"))
				
				string += ", " + fN + ": " + objFields.get(fN);
		
		string += ", CreatedAt: " + objFields.get("CreatedAt");
		string += ", UpdatedAt: " + objFields.get("UpdatedAt");
		
		return string + ">";
	}