Port to windows and mac