chains and decoder