even less static
remade exceptions (again)