add another underlay callback parameter, plus a nicer demo