Added the majority of the code and styling