use stdint.h