add GAN; improve docs