Fully modularize codebase and add many front end logics