improvement of design and comments