implementing feature

close #4