Add a new World class and did alot of refactoring