I know it’s long but read on!