add logger
fix singletap