added interface for registrations, created custom registration class