switch from Integer to Number to fully support 64 bit types and fix various -Wshadow warnings