editting. probably shouldn't be doing this now... maybe it should be
more like compiler design.