public static boolean findCategoriesForOneCity(String cityName) {
        setupLogger();
        System.out.println("-----------------------------------------------");
        System.out.println("doing it for "+cityName);
        boolean successfullyFetchedAttractionsPage = false;
        Map<String, Integer> categoryNameIdMapping = new HashMap<String, Integer>();
        String linkOfCityAttractions = null;
        while (!successfullyFetchedAttractionsPage) {
            try {
                linkOfCityAttractions = ScraperHelper.getLinkOfAttractionsPage(cityName);
                System.out.println(linkOfCityAttractions);
                Document attractionsPage = Jsoup.connect(linkOfCityAttractions).get();
                Elements categoryButtons = attractionsPage.getElementsByClass("styleIcon");
                for (Element categoryButton : categoryButtons) {
                    Set<String> classesOnCategoryButton = categoryButton.classNames();
                    int categoryId = -1;
                    String categoryName = null;
                    for (String className : classesOnCategoryButton) {
                        if (className.contains("sprite-filter-attraction-")) {
                            categoryId = Integer.parseInt(className.replaceAll("sprite-filter-attraction-", ""));
                            categoryName = categoryButton.parent().ownText();
                            categoryNameIdMapping.put(categoryName, categoryId);
                            System.out.println(categoryName + " " + Integer.toString(categoryId));

                        }
                    }
                }
                successfullyFetchedAttractionsPage = true;
            } catch (IOException e) {
                System.out.println("retrying..");
                successfullyFetchedAttractionsPage = false;
//            e.printStackTrace();
            }
        }
        if(categoryNameIdMapping.size()!=9){
            LOGGER.warning("just how many categories?");
        }
        if(linkOfCityAttractions==null){
            LOGGER.warning("attractions URL is incorrect..");
            return false;
        }
        for(String category:categoryNameIdMapping.keySet()) {
            if(category.equals("All")){
                System.out.println("skipping all attractions page");
                continue;
            }
            String linkOfCategorizedAttractionList = linkOfCityAttractions.replace("Vacations", "Vacations-c" + Integer.toString(categoryNameIdMapping.get(category)));
            getListOfAttractionsForOneCategory(linkOfCategorizedAttractionList, category);
        }
        return false;
    }