wow, this is getting messy. i'll take this now but it looks like it needs to get refactored, my original approach wasn't thinking about this use case and it's getting hacky now.