Master Card Routines by Chris Priest