Split passes

No semantical changes, should be straight-forward.