Broke off the preinit/extends into a separate module to make it easier to update and manager