Added Identity, refactored Principal