+windows compatibility +main-file as module +few more error handling

+gitignore