Made tests async + refactored all functionality to use check()