changes between linux and mac
sync to master, resolve merge conflicts