compiler got a little hary; strip it back down to its roots in norvig before adding more stuff