make filename could also support relativePath