finish first working version