1st attempt: makes assumptions about markup, & certainly not rigorous enough