add some comments
add method repair
add method repair()