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

798c028 init

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