updates
I think I got this working. Needs to be battle tested on devices