improved logging library