split logger into separate module with minor improvements