implement registration with virtus attributes
Merge branch 'virtus-registration' into develop