add backward compatibility and c++ style cast