Moved admin code to its own module.