Updated and made it more organized