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

afb0f21 init

git-subtree-dir: lib
git-subtree-split: afb0f21703873893e5ecf6e3a9d2896d3d63a1b6
Merge commit '09624dce42174562af151226478b0ea3e2b1bc15'