all required functionality except for avatar loading.