adds formal checking