implement logger
#11