add constant & semantic