push cue ball framework