Merge pull request #6 from ablesky/dev

Merge dev to master
Merge pull request #7 from ablesky/dev

Dev merge to master
Merge pull request #8 from ablesky/dev

Merge dev to master
Merge pull request #9 from ablesky/dev

add task filehash
Merge pull request #10 from ablesky/dev

Merge dev to master
Merge pull request #11 from ablesky/dev

Merge dev to master
update tasks
Merge pull request #12 from ablesky/master

dev sync with master