rewriting some stuff.been a long time.