functional checking