support relative path require