use stdint.h instead of cstdint