ticket:4 reimplemented using singleton
ticket:4 Merge branch 't4_friends_list'