chains implement