initial framework of logging