Update front-end to be more modular