add <algorithm>, <atomic>, <mutex>
Noodle: reimplement to support max queue size
Ports: refactor and add requirement to say please before getting/putting