Added async functionality