Now all functions are fully async :D