add annotations to allow initialization free type registrations