refactor World#opposite