abstracted mini game