fix: asynchronous posts make a huge difference. some refactoring and cleanup