now with reinit and exceptions with readable messages