added c++ static_assert