don't use PRIu64 since some compilers seem to not like it