eliminated intermediate buffer, implemented smooth zooming