Portability

To review and to merge.