Rewrite to be more evolutionary.