broke client and server up into their own files