better testing functions