Write tests first
Add some meat to the tests
Add exceptions and agents
add field and z coordinate
Adds move() to agents