explaining weight and constraint elements