no static_cast :'(