constraint generation for literals and some base stuff