finished almost all of the client side, fixed some small things on the server side