chainons initialisation
add several new functions