more refactoring and tests
Merge branch 'master' of github.com:tonynho/ZooSim