100% working state, smaller changes (and DOCUMENTATION) still needed.