finished basic identity class