update, still some fixmes