added simple async functionality