implemented log4j