add LazyChain and its test