changed implementation of world