fist partially working version