Chiefly review interface (some const references added)