add generate world chem function