pretty much finished, one fringe case where ace doesn't move, will figure out eventually