- fixed controller after merge
- made send and receive functions async