unused code
convert die to exceptions
remove terminate and descriptive data
die -> throw errors
quality
quality
migrate to new system