make logger an interface