Complete an initial working version