functional buddy list dependent on separate friend model