add functional test suite