Squashed 'lib/' changes from 334444d..afb0f21

afb0f21 init

git-subtree-dir: lib
git-subtree-split: afb0f21703873893e5ecf6e3a9d2896d3d63a1b6
Merge commit 'd991186249cd127eba35a91c578c4f0faf2dc97b'