more documentation and refactoring
more documentation and refactoring


Former-commit-id: c7cf8c75b8afdbbdcfd6014e819665648ad3ef8c [formerly eace81cb3e5790a3912d9cc831d75582b5a72e3f] [formerly ee6f000c427bb1ecbfa08eceae514ecae7db9d20 [formerly 839ba0de82dc6068a8e78b3d19188e2d541ec6af]] [formerly 5fb5878de0a105c7805200a3a087dc0f49620f11 [formerly 0b7369846100d34cd62e982e5f3f7bbbfe977603] [formerly 8e3c1e9ceb26028dd2d02743e0a64bac43bcfe80 [formerly 8e3c1e9ceb26028dd2d02743e0a64bac43bcfe80 [formerly 221d12df6202464708c42ea5a0798a51701de70d]]]]
Former-commit-id: 94e117b89f131dc88b206ab533180be10e4b5035 [formerly 0ab47fb45f3d65a87f60a37eead230bf90fecc40] [formerly c49f64517c9902b262b0579dad894a9facf3a5ef [formerly e0e6036d8c5fbbe2e05ea55e709784649edd602b]]
Former-commit-id: 36dbda269121080c7918e9abb907ef03cc87643d [formerly d285cac411614b06c0755af95f06468c41142103]
Former-commit-id: d459ccd1c1a7585c70222bb3e2060cba2c343789
Former-commit-id: 78a6eb10cacf66069c327055555e809e9a0648a0
Considerit/ConsiderIt,Considerit/ConsiderIt,Considerit/ConsiderIt,Considerit/ConsiderIt