abstracting out pieces of targetspecieslit
further cleanup and clarification