step 15 : add functional tests