portability considerations