add logging implementation
add logging