windows backend rewritten