remove NegativeNumberException fixes #351
remove IllegalArgumentException() fixes #350
throw AssertionException instead of RuntimeException