Squashed 'lib/' changes from 06dda2c..798c028

798c028 init

git-subtree-dir: lib
git-subtree-split: 798c028e411f9a6377fcd768cfa7b63de8e738c3
Merge commit '27e88e96b3ce114bced15b56d9969f520ebb14ce'