it works. future step: make this run as a background task so we avoid the beach ball