This is really hard to read, have you considered a tag-based alternative?