added methods and comments