necessary register