Improve self-test function