cleanup - mostly working well now