Add new error
remove not needed lib
add comments and reformat
add comments and reformat
add comments and reformat