added handling for windows and macintosh, added 3 different view modes / handlings