Optimizing Federated Learning On Non Iid Data