add styles
refactor module pattern