big rewrite 4
Revert "big rewrite 4"

This reverts commit 17f6bcb347e7e401c74d85f92524567d26bcbc9b.