use logger instead of System.out