porting palindrome