various improvements to the logic, generalizations
Merge branch 'master' of https://github.com/thecarlos/becauserobots