Chemarch's version of functions