refactor css and layout