Async task

close #10 
close #11