         }
     }
     
+    var isStateFirstInit = false
+    
     var state: SkillHomeState = .Master {
         willSet {
-            
             
             switch newValue {
             case .Master:

                headerView.masterButton.setInActive()
                headerView.learningButton.setActive()
                skillHomeScrollView.setContentOffset(CGPoint(x: masterTableView.frame.size.width, y: 0), animated: true)
                
            }
            
        }

    func discoverUserBySkillName(skillName: String) {
        
        discoverUsers(masterSkills: [skillName], learningSkills: [], discoveredUserSortStyle: .LastSignIn, failureHandler: { (reason, errorMessage) in
            
            defaultFailureHandler(reason, errorMessage)
            
        }, completion: { discoveredUsers in
                
            self.discoveredMasterUsers = discoveredUsers

            dispatch_async(dispatch_get_main_queue()) {
                self.masterTableView.reloadData()
            }
        })
        
        discoverUsers(masterSkills: [], learningSkills: [skillName], discoveredUserSortStyle: .LastSignIn, failureHandler: { (reason, errorMessage) in
            
            defaultFailureHandler(reason, errorMessage)
            
        }, completion: { discoveredUsers in
                
            self.discoveredLearningUsers = discoveredUsers
            
            dispatch_async(dispatch_get_main_queue()) {
                self.learningtTableView.reloadData()
            }
        })
    }

