added registration superclass
added registration superclass