fixed a few bugs, looks like it's working now (regression all passing)