updating - mostly working