introduced reflection helper in constraint
fixed merge conflict