fixed npe
added new async stuff
better io exception handling
Merge remote-tracking branch 'origin/master'