use u32 for ClientMessage union