donuts implemented and documented