logger implemented