Haha, I wanted to avoid lots of underscores, but I can do it if you think it's more idiomatic.