- timeout is uint32_t now