De-listing

Not for merging yet.
This is my biggest function to date.