basic untested windows implementation finished