oop 기반으로 기존 모듈 변경