A bit hard to understand