add logic-test function