cross platform path processing added