complement generation and evolution