optimized client, also changed backend. oh well