update library with @3ffed05, @de8c4a0