try to support runtime conversion