add LazyChain and its test
Merge branch 'sec08'