add logger implementation