Added more descriptions and comments