seperate client and server