1) got rid of recursive form; 2) better help 3) simplified structure and split between errors and warnings.