functional validation