24, butt-ugly solution. must revisit.