Wrote all base objects. Didn't test soldier too fluently, or agent_factory