lots of work to add order removal