additional changes for token implementation