redo the registration piece with virtus