added exception package and formatting