added put requests, css formatting, refactored most of the code