Squashed 'lib/' changes from a9d1b22..4675d7b


git-subtree-dir: lib
git-subtree-split: 4675d7bc4fd4e4fd7f14f8997bfa41dfb0796a39
Merge commit 'b5620fdc0cd915f38c07a167e17e7b264d8069e2' into ellmaster