reverted back to use uint32_t and uint64_t