updating geometry on the fly works, but slow