basic structure for generic registry