some renaming and beginning constraint framework