working for sake of image generation, not very dynamic / interactive though