use reinterp over c style