signletons rough^2 outline