first pass at constraint cleanup