properly registers modules