Add functional tests - pass