do not use AssertionError directly