changed record back to abstract class; hashed anonymous record names