removed async, used promise and added language stats