use error function and let special form.

The code becomes more readable.
Exclude Parts consist of questions

This commit closes #4.