First (barely) working async version

[TEC], wtf if this. It's all nigh upon unreadable and is in a terrible
code style
2 jobs for master