combined windows and linux versions into one codebase