added class for future async