functional check