seperate client, server code, implement save feature