covered existing classes with exceptions, PDO, and SPL