refactor to module , separate  content, display style and control logic