abstracted toss method