Refactored code and a bit of cleanup
refactor ... currently missing fight logic
Merge branch 'dev_refactor' into dev_sramanujan