refactor handle follow user