adding functional testing