reorganized and begun to rewrite everything