need explicit return val on windows or we get nil back