stricter syntax checking
reformat