prevent infinite zoom out, added a zoom slider