finalTeardown is optional
added new validation logic