more complete functional tests