correct some bugs, add description and visibility methods