redone moste parts, still incomplete