pulled out logger into its own modules