exception and coomments added