crack functions