fixed tests to be async and everything just works perfectly now
merged with master