added completion blocks around
made it working!
cleaned up
fixed cpu usage. ready to merge
Merge branch 'async_shell'