functional test implementation