support different device path