added log4j for logging