refactored to put quadkey logic into separate class