refactor + bugfix sending that blocked execution (now it is on separate thread)