almost done but not fiinished