test function improved