I definitely don't like this code; maybe it will be clearer with the `section` container