Implement the ^ operator