added some stuff for getting tokens and how I think this thing should work