refactoring into World class