Restructure and cleanup
Initial effort
Add jack#revert