add full test function