many small changes, badpredicament exception