refactor
use winston as logger
even more refactoring, and still not done