Now rotates, links and moves on the backend, with promises