rewriting image-zoom, basic implementation