replaced exceptions with history
refactored messages