added concrete exception throw