some refactoring!
fixed async issue when posting new threads