still a few more bugs to get to, but almost got the SHM version put back together