move Log to its own package