modified: for macosx