handling with exceptions is very hard. We never know which specification caused the unexpected exception