lots of changes. token create now promises.