add follow/unfollow function with test