1 lint fix and maybe a core-level performance improvement
update document, add more tests