Slightly update.
Better design.