updated token contract