fully functional createWorld function