don't initialize variable with itself
switch to using size_t and uintptr_t instead of fixed-width 32bit/16bit ints