20.3 Surface-based constraints