fix up the mobile system, so it's using sub-modules for libraries