caught some glitches in plot, some still exist