Major overhaul.  v2 - mario version