[major] Refactor in to logical modules.