Groundwork for intro. Thanks to @adityaanujscratch for help. Sorry for protection, but I'm not done yet.