refactor to zoom fix