Modeling with cellular automata