Add more functional tests