Simulation Tools for Social Scientists: Building Agent Based Models with SWARM