add documentations
add docs
add test for generateMethods
add throws