Updated various domain logics and added an UserRecovery domain