moved the admin functionality out of the main lib - now it can be used to extend the main lib to add admin functionality.