first working version done