task 1

[close #4]