copy of 1.5.1
1.6, extended for GS 3.3