do code more portable