add exception and methods description