base registration logic added