hard to understand