Merge pull request #1768 from reaperhulk/basic-constraints

basic constraints class & extensions interface