change the way of initializing the array
reduce dependencies
better calculation of the projection bounds