we need a hacky fullname field
we need more principal functionality
loads of functionality