using World::external_ instead of attribute