Mark's JavaScript 3.1 (no bonus)