modify long to Long, and int to Integer to fix Map.get() bugs which returns null