fresh for 2013: simplified code considerably
fresh for 2013: simplified code considerably