added Log class, unit tests