#27: implement feedback and tidy up