https://docs.google.com/document/d/19wi4CNwfmh8rGMoWhmn2n2n-Q_6RwwZs7y73hhLWHTk/edit?usp=sharing
rewrite - https://docs.google.com/document/d/1Mogry47rpuu5F1ZYJjVPuf6YVN2Y6XfSkMET1YEwHKA/edit?usp=sharing