Generative adversarial networks (GANs) and clustering algorithms are both very popular unsupervised methodologies in machine learning. In this work, we propose a novel strategy that uses GANs to improve clustering and vice verse. We start by providing a simple but yet powerful scheme for improving clustering methods that rely on the latent space of GANs. Then, we turn to demonstrate how the output of clustering techniques can be employed for significantly improving the output quality of GANs. We empirically demonstrate the improvement that is achieved by our proposed framework both for clustering and the generation quality of GANs measured by the inception score.