merging code with windows branch