cfc70c9806
Had to leave some unfinished due to complexity at the moment
102 B
102 B