first complete working verson