Mostly done, figuring out edge case logic error...