A Guide to Re-Implementing Agent-based Models: Experiences from the HUMAT Model