use C++ casting