use uint8_t for endpoint