use c++ style casting