outsourcing zoom handler to a separate file