added some more world updating logic