working on seperating client and server