first pass at evolution