ticket5: refactored by adding TSKFriend class