image now uses textures to save memory