lib + test case