extract core modules out