hotfix: MSVC C4146: unary minus operator applied to unsigned type, result still unsigned