issue #15 - implement battle
issue #15 - refactor Field