Modularize the front end #5