add some styles and reorganize structure