use guids on windows
fix bad return