Adding Version and new Require Logic