Part three.
Part four. I think I found the last bugs.