added abstract token model.