Use os.path instead of manual path building