a decent-ish type of parsing, I've been wrestling with the idea with a lot of these