support empty path