added more methods and comments