refactors codebase to split web and core