removed token update, added optimised join