Restructured specs. Not yet complete.