partial implementation of Mathias suggestions, plus added back kPolicyGreedy.  passes tests