refactored until friends class