refactor max min zoom so that we can set specific maz zoom for different layers, and also attribution