add normalize_path function