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