refactor cue function