converted onDJAdvance to use passed object instead of a dozen API calls