it's easier to understand compared with previous one