for my future self on how to solve problems :
1. identify the problem
2. break it down into basic elements, the most fundamental facts or truths that cannot be reduced further
3. challenge assumptions : question everything about the problem
4. rebuild from scratch, use first principles to construct a new solution / free from preconceived notions