some further work on service choice handler