major overhaul for re-commit