partway through 21, some logic bug, going to sleep on it