new everything after brainstorm with craig, all but neccessary gutted, parser changed to match