Overhaul - mostly functional.