trying to figure out how we can do this efficiently, but I might just not