added meaningful exception text, added test