It's a bit broken, but the overall structure is clear, I think