advanced testing methods