Updated with comments and removed useless methods and comments