Applied most of design comments.