messy parsing