diff --git a/src/Call.cpp b/src/Call.cpp
index 52f8e5394c4626386afb624b58cf1410ebb29e0a..b23e67f1a93c91e6c8a75a4a90749fe7bed3bfe8 100644
--- a/src/Call.cpp
+++ b/src/Call.cpp
@@ -28,7 +28,7 @@
 
 const call_state Call::actionPerformedStateMap [11][5] = 
 {
-//                      ACCEPT                  REFUSE                  TRANSFER                   HOLD                           RECORD
+//                      ACCEPT                  REFUSE                  TRANSFER                   HOLD                           RECORD           
 /*INCOMING     */  {CALL_STATE_INCOMING   , CALL_STATE_INCOMING    , CALL_STATE_ERROR        , CALL_STATE_INCOMING     ,  CALL_STATE_INCOMING     },
 /*RINGING      */  {CALL_STATE_ERROR      , CALL_STATE_RINGING     , CALL_STATE_ERROR        , CALL_STATE_ERROR        ,  CALL_STATE_RINGING      },
 /*CURRENT      */  {CALL_STATE_ERROR      , CALL_STATE_CURRENT     , CALL_STATE_TRANSFER     , CALL_STATE_CURRENT      ,  CALL_STATE_CURRENT      },
@@ -45,7 +45,7 @@ const call_state Call::actionPerformedStateMap [11][5] =
 
 const function Call::actionPerformedFunctionMap[11][5] = 
 { 
-//                      ACCEPT               REFUSE            TRANSFER                 HOLD                  RECORD
+//                      ACCEPT               REFUSE            TRANSFER                 HOLD                  RECORD            
 /*INCOMING       */  {&Call::accept     , &Call::refuse   , &Call::acceptTransf   , &Call::acceptHold  ,  &Call::setRecord     },
 /*RINGING        */  {&Call::nothing    , &Call::hangUp   , &Call::nothing        , &Call::nothing     ,  &Call::setRecord     },
 /*CURRENT        */  {&Call::nothing    , &Call::hangUp   , &Call::nothing        , &Call::hold        ,  &Call::setRecord     },
@@ -62,7 +62,7 @@ const function Call::actionPerformedFunctionMap[11][5] =
 
 const call_state Call::stateChangedStateMap [11][6] = 
 {
-//                      RINGING                  CURRENT             BUSY              HOLD                           HUNGUP           FAILURE
+//                      RINGING                  CURRENT             BUSY              HOLD                           HUNGUP           FAILURE            
 /*INCOMING     */ {CALL_STATE_INCOMING    , CALL_STATE_CURRENT  , CALL_STATE_BUSY   , CALL_STATE_HOLD         ,  CALL_STATE_OVER  ,  CALL_STATE_FAILURE  },
 /*RINGING      */ {CALL_STATE_RINGING     , CALL_STATE_CURRENT  , CALL_STATE_BUSY   , CALL_STATE_HOLD         ,  CALL_STATE_OVER  ,  CALL_STATE_FAILURE  },
 /*CURRENT      */ {CALL_STATE_CURRENT     , CALL_STATE_CURRENT  , CALL_STATE_BUSY   , CALL_STATE_HOLD         ,  CALL_STATE_OVER  ,  CALL_STATE_FAILURE  },
@@ -78,9 +78,9 @@ const call_state Call::stateChangedStateMap [11][6] =
 
 const function Call::stateChangedFunctionMap[11][6] = 
 { 
-//                      RINGING                  CURRENT             BUSY              HOLD                    HUNGUP           FAILURE
-/*INCOMING       */  {&Call::nothing    , &Call::start     , &Call::startWeird     , &Call::startWeird   ,  &Call::startStop    , &Call::start  },
-/*RINGING        */  {&Call::nothing    , &Call::start     , &Call::start          , &Call::start        ,  &Call::startStop    , &Call::start  },
+//                      RINGING                  CURRENT             BUSY              HOLD                    HUNGUP           FAILURE           
+/*INCOMING       */  {&Call::nothing    , &Call::start     , &Call::startWeird     , &Call::startWeird   ,  &Call::startStop    , &Call::start   },
+/*RINGING        */  {&Call::nothing    , &Call::start     , &Call::start          , &Call::start        ,  &Call::startStop    , &Call::start   },
 /*CURRENT        */  {&Call::nothing    , &Call::nothing   , &Call::warning        , &Call::nothing      ,  &Call::stop         , &Call::nothing },
 /*DIALING        */  {&Call::nothing    , &Call::warning   , &Call::warning        , &Call::warning      ,  &Call::stop         , &Call::warning },
 /*HOLD           */  {&Call::nothing    , &Call::nothing   , &Call::warning        , &Call::nothing      ,  &Call::stop         , &Call::nothing },
diff --git a/src/Contact.cpp b/src/Contact.cpp
index 8f952c56a45aa0c1632e705863d23039700d5b1c..54731e870fe132589e29d250428679ce03ebbb4d 100644
--- a/src/Contact.cpp
+++ b/src/Contact.cpp
@@ -46,7 +46,7 @@ Contact::Contact()
 
 Contact::~Contact()
 {
-   delete photo;
+   delete m_pPhoto;
 }
 
 void Contact::initItem()
@@ -59,34 +59,88 @@ void Contact::initItemWidget()
    
 }
 
-QString Contact::getPhoneNumber() const
+PhoneNumbers Contact::getPhoneNumbers() const
 {
-   return phoneNumber;
+   return m_pNumbers;
 }
 
 QString Contact::getNickName() const
 {
-   return nickName;
+   return m_pNickName;
 }
 
 QString Contact::getFirstName() const
 {
-   return firstName;
+   return m_pFirstName;
 }
 
 QString Contact::getSecondName() const
 {
-   return secondName;
+   return m_pSecondName;
 }
 
 const QPixmap* Contact::getPhoto() const
 {
-   return photo;
+   return m_pPhoto;
+}
+
+QString Contact::getFormattedName() const
+{
+   return m_pFormattedName;
+}
+
+QString Contact::getOrganization()  const
+{
+   return m_pOrganization;
+}
+
+QString Contact::getPreferredEmail()  const
+{
+   return m_pPreferredEmail;
 }
 
 QString Contact::getType() const
 {
-   return type;
+   return m_pType;
+}
+
+void Contact::setPhoneNumbers(PhoneNumbers numbers)
+{
+   m_pNumbers    = numbers;
 }
 
+void Contact::setNickName(QString name)
+{
+   m_pNickName   = name;
+}
 
+void Contact::setFirstName(QString name)
+{
+   m_pFirstName  = name;
+}
+
+void Contact::setFamilyName(QString name)
+{
+   m_pSecondName = name;
+}
+
+void Contact::setPhoto(QPixmap* photo)
+{
+   m_pPhoto      = photo;
+}
+
+void Contact::setFormattedName(QString name)
+{
+   m_pFormattedName = name;
+}
+
+
+void Contact::setOrganization(QString name)
+{
+   m_pOrganization = name;
+}
+
+void Contact::setPreferredEmail(QString name)
+{
+   m_pPreferredEmail = name;
+}
\ No newline at end of file
diff --git a/src/Contact.h b/src/Contact.h
index 2584aa80fb02aa0d5f0b46b02c587f02e9e9f8cf..33a5955e8a9759bc7fd336a6b675c1cd9058a5a7 100644
--- a/src/Contact.h
+++ b/src/Contact.h
@@ -36,33 +36,65 @@
    @author Jérémy Quentin <jeremy.quentin@savoirfairelinux.com>
 */
 class LIB_EXPORT Contact : public QObject{
-private:
-   QString     firstName;
-   QString     secondName;
-   QString     nickName;
-   QString     phoneNumber;
-   QPixmap*    photo;
-   QString     type;
-   bool        displayPhoto;
+   Q_OBJECT
+public:
+   class PhoneNumber {
+   public:
+      PhoneNumber(QString number, QString type)
+      : m_pNumber(number),m_pType(type){}
+      QString& getNumber() {
+         return m_pNumber ;
+      }
+      QString& getType() {
+         return m_pType   ;
+      }
+   private:
+      QString m_pNumber   ;
+      QString m_pType     ;
+   };
+   typedef QList<Contact::PhoneNumber*> PhoneNumbers;
    
+private:
+   QString      m_pFirstName      ;
+   QString      m_pSecondName     ;
+   QString      m_pNickName       ;
+   QPixmap*     m_pPhoto          ;
+   QString      m_pType           ;
+   QString      m_pFormattedName  ;
+   QString      m_pPreferredEmail ;
+   QString      m_pOrganization   ;
+   bool         displayPhoto      ;
+   PhoneNumbers m_pNumbers        ;
 public:
-
    //Constructors & Destructors
    explicit Contact();
    virtual ~Contact();
    
    //Getters
-   virtual QString        getPhoneNumber() const;
-   virtual QString        getNickName()    const;
-   virtual QString        getFirstName()   const;
-   virtual QString        getSecondName()  const;
-   virtual const QPixmap* getPhoto()       const;
-   virtual QString getType()               const;
-   virtual void initItem();
+   virtual PhoneNumbers   getPhoneNumbers()    const;
+   virtual QString        getNickName()        const;
+   virtual QString        getFirstName()       const;
+   virtual QString        getSecondName()      const;
+   virtual QString        getFormattedName()   const;
+   virtual QString        getOrganization()    const;
+   virtual QString        getPreferredEmail()  const;
+   virtual const QPixmap* getPhoto()           const;
+   virtual QString        getType()            const;
+   virtual void           initItem();
+
+   virtual void setPhoneNumbers   (PhoneNumbers   );
+   virtual void setFormattedName  (QString name   );
+   virtual void setNickName       (QString name   );
+   virtual void setFirstName      (QString name   );
+   virtual void setFamilyName     (QString name   );
+   virtual void setOrganization   (QString name   );
+   virtual void setPreferredEmail (QString name   );
+   virtual void setPhoto          (QPixmap* photo );
    
 protected:
    virtual void initItemWidget();
 
 };
+typedef Contact::PhoneNumbers PhoneNumbers;
 
 #endif